package com.hspedu.exception_.homework;

import java.util.Scanner;

/**
 * @Author Stringzhua
 * @Date 2024/3/8 13:00
 * description:
 * 1.编写代码EcmDef.java,接收命令行的两个参数(整数),计算两数相除
 * 2.计算两个数相除,要求使用方法cal(int n1,int n2)
 * 3.对数据格式不正确(NumberformatException),
 * 缺少命令行参数(ArrayIndexOutOfBoundsException),
 * 除0进行异常处理(ArithmeticException)
 */
public class homework01 {
    public static void main(String[] args) {
        try {
            //先验证输入的两个参数的个数是否合理
            if (args.length != 2) {
                throw new ArrayIndexOutOfBoundsException("缺少命令行参数~");
            }
            //先把接收到的参数转成整数
            int n1=Integer.parseInt(args[0]);
            int n2=Integer.parseInt(args[1]);

            double res=cal(n1,n2);//该方法可能抛出算术异常ArithmeticException
            System.out.println("计算结果是"+res);
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println(e.getMessage());
        }catch (NumberFormatException e){
            System.out.println("参数格式不正确，需要输入整数");
        }catch (ArithmeticException e){
            System.out.println("出现了除0的异常");
        }
    }

    //编写代码EcmDef.java,接收命令行的两个参数(整数),计算两数相除
    public static double cal(int n1, int n2) {
        return n1 / n2;
    }
}

